< previous page page_313 next page >

Page 313
properly in a hidden file or straight to a database. Every login attempt can also be recorded. For security-sensitive environments such as financial institutions, top-secret military and private-sector organizations, and even Internet-wary parents with children at home, this application transaction logging mechanism is essential.
If you're an active or a would-be entrepreneur, or a commercial software establishment, implementing this subsystem adds to the benefits of using classes with regard to troubleshooting and customer support. How many times have you had trouble understanding what your customers and/or users are trying to explain about application errors or functionality problems? Some developers have spent hours, even days, trying to negotiate an understanding of a problem with users. With an application transaction logging subsystem in place, you can record transactions that you have estimated will likely cause problems ahead of time. That way, when a user calls you with a problem, you can simply ask the user to click a menu item named Customer Support and ask him to either read the contents of the text box or print and fax/mail the file contents to you. For the advanced developer, you can design the menu item to email the file to you when the user encounters a problem repeatedly and call him before he calls you (well, it was a nice thought, anyway).
Understanding State Issues for Internet Applications
If you deploy your application on the Internet, you need to track state changes with regard to HTML pages, Active Server Pages, and ActiveX components as they are routed in and out of your Web server. The classes in this subsystem reside on the Web server in a subsystem ActiveX component, waiting for each transaction as they come in. The logging information is then persisted in a file or database table.
Understanding State Issues for Desktop Applications
Tracking desktop applications follows a similar pattern. If you deploy your application on a desktop, you need to track state changes with regard to forms, classes, components, and Active Documents. The classes in this subsystem can be encapsulated in an ActiveX DLL or EXE, waiting for each transaction as they come in. The logging information is then persisted in a file or database table.
Managing Application Settings and User Preferences
Earlier, you read some benefits of implementing this subsystem including customer support and security. In some cases, your application might require that some user preferences be recorded and remembered the next time the user uses the application. For such

 
< previous page page_313 next page >

If you like this book, buy it!